\hypertarget{a00085}{}\section{E\+:/knet-\/git/knet/knet/loop\+\_\+profile.c 文件参考}
\label{a00085}\index{E\+:/knet-\/git/knet/knet/loop\+\_\+profile.\+c@{E\+:/knet-\/git/knet/knet/loop\+\_\+profile.\+c}}
{\ttfamily \#include \char`\"{}loop\+\_\+profile.\+h\char`\"{}}\\*
{\ttfamily \#include \char`\"{}loop.\+h\char`\"{}}\\*
{\ttfamily \#include \char`\"{}list.\+h\char`\"{}}\\*
{\ttfamily \#include \char`\"{}stream.\+h\char`\"{}}\\*
\subsection*{结构体}
\begin{DoxyCompactItemize}
\item 
struct \hyperlink{a00032}{\+\_\+loop\+\_\+profile\+\_\+t}
\end{DoxyCompactItemize}
\subsection*{函数}
\begin{DoxyCompactItemize}
\item 
\hyperlink{a00056_ab75a5c23099a6118c469ed160b277f28_ab75a5c23099a6118c469ed160b277f28}{kloop\+\_\+profile\+\_\+t} $\ast$ \hyperlink{a00085_a2ceadcfacc62456cf26ac88ebe09fd50_a2ceadcfacc62456cf26ac88ebe09fd50}{knet\+\_\+loop\+\_\+profile\+\_\+create} (\hyperlink{a00056_a97fc76209a58362019f1ded9169e397f_a97fc76209a58362019f1ded9169e397f}{kloop\+\_\+t} $\ast$loop)
\begin{DoxyCompactList}\small\item\em 建立kloop\+\_\+t统计器 \end{DoxyCompactList}\item 
void \hyperlink{a00085_a760cc20cb3dc6a361e6b5f67576f2bbc_a760cc20cb3dc6a361e6b5f67576f2bbc}{knet\+\_\+loop\+\_\+profile\+\_\+destroy} (\hyperlink{a00056_ab75a5c23099a6118c469ed160b277f28_ab75a5c23099a6118c469ed160b277f28}{kloop\+\_\+profile\+\_\+t} $\ast$profile)
\begin{DoxyCompactList}\small\item\em 销毁统计器 \end{DoxyCompactList}\item 
uint32\+\_\+t \hyperlink{a00085_ab75ba9cdc68d1b4ec059974df4b67165_ab75ba9cdc68d1b4ec059974df4b67165}{knet\+\_\+loop\+\_\+profile\+\_\+increase\+\_\+established\+\_\+channel\+\_\+count} (\hyperlink{a00056_ab75a5c23099a6118c469ed160b277f28_ab75a5c23099a6118c469ed160b277f28}{kloop\+\_\+profile\+\_\+t} $\ast$profile)
\begin{DoxyCompactList}\small\item\em 增加已建立连接的管道数量 \end{DoxyCompactList}\item 
uint32\+\_\+t \hyperlink{a00085_ae34c1df8f99b26184f7380c90cc1e799_ae34c1df8f99b26184f7380c90cc1e799}{knet\+\_\+loop\+\_\+profile\+\_\+decrease\+\_\+established\+\_\+channel\+\_\+count} (\hyperlink{a00056_ab75a5c23099a6118c469ed160b277f28_ab75a5c23099a6118c469ed160b277f28}{kloop\+\_\+profile\+\_\+t} $\ast$profile)
\begin{DoxyCompactList}\small\item\em 减少已建立连接的管道数量 \end{DoxyCompactList}\item 
uint32\+\_\+t \hyperlink{a00085_a30be8a49214eb1485429bdff63541dfc_a30be8a49214eb1485429bdff63541dfc}{knet\+\_\+loop\+\_\+profile\+\_\+get\+\_\+established\+\_\+channel\+\_\+count} (\hyperlink{a00056_ab75a5c23099a6118c469ed160b277f28_ab75a5c23099a6118c469ed160b277f28}{kloop\+\_\+profile\+\_\+t} $\ast$profile)
\begin{DoxyCompactList}\small\item\em 取得已经建立连接的管道数量 \end{DoxyCompactList}\item 
uint32\+\_\+t \hyperlink{a00085_abb04cdf84772d003486afde6ee2f5234_abb04cdf84772d003486afde6ee2f5234}{knet\+\_\+loop\+\_\+profile\+\_\+increase\+\_\+active\+\_\+channel\+\_\+count} (\hyperlink{a00056_ab75a5c23099a6118c469ed160b277f28_ab75a5c23099a6118c469ed160b277f28}{kloop\+\_\+profile\+\_\+t} $\ast$profile)
\begin{DoxyCompactList}\small\item\em 增加已建立但未连接的管道数量 \end{DoxyCompactList}\item 
uint32\+\_\+t \hyperlink{a00085_a2846784b57c724b18c09aa177c1d1905_a2846784b57c724b18c09aa177c1d1905}{knet\+\_\+loop\+\_\+profile\+\_\+decrease\+\_\+active\+\_\+channel\+\_\+count} (\hyperlink{a00056_ab75a5c23099a6118c469ed160b277f28_ab75a5c23099a6118c469ed160b277f28}{kloop\+\_\+profile\+\_\+t} $\ast$profile)
\begin{DoxyCompactList}\small\item\em 减少已建立但未连接的管道数量 \end{DoxyCompactList}\item 
uint32\+\_\+t \hyperlink{a00085_a9b4aceae0c7a1f1aa86c8db5996ec76a_a9b4aceae0c7a1f1aa86c8db5996ec76a}{knet\+\_\+loop\+\_\+profile\+\_\+get\+\_\+active\+\_\+channel\+\_\+count} (\hyperlink{a00056_ab75a5c23099a6118c469ed160b277f28_ab75a5c23099a6118c469ed160b277f28}{kloop\+\_\+profile\+\_\+t} $\ast$profile)
\begin{DoxyCompactList}\small\item\em 取得已经建立但还未连接的管道数量 \end{DoxyCompactList}\item 
uint32\+\_\+t \hyperlink{a00085_a85fbddaf0bf20c228f7389ad2765ec57_a85fbddaf0bf20c228f7389ad2765ec57}{knet\+\_\+loop\+\_\+profile\+\_\+increase\+\_\+close\+\_\+channel\+\_\+count} (\hyperlink{a00056_ab75a5c23099a6118c469ed160b277f28_ab75a5c23099a6118c469ed160b277f28}{kloop\+\_\+profile\+\_\+t} $\ast$profile)
\begin{DoxyCompactList}\small\item\em 增加已关闭管道数量 \end{DoxyCompactList}\item 
uint32\+\_\+t \hyperlink{a00085_a1c0e93ef936d34b9ed9eb0b8a949a888_a1c0e93ef936d34b9ed9eb0b8a949a888}{knet\+\_\+loop\+\_\+profile\+\_\+decrease\+\_\+close\+\_\+channel\+\_\+count} (\hyperlink{a00056_ab75a5c23099a6118c469ed160b277f28_ab75a5c23099a6118c469ed160b277f28}{kloop\+\_\+profile\+\_\+t} $\ast$profile)
\begin{DoxyCompactList}\small\item\em 减少已关闭管道数量 \end{DoxyCompactList}\item 
uint32\+\_\+t \hyperlink{a00085_a6eaacce21d69455a4e70bd6da4927082_a6eaacce21d69455a4e70bd6da4927082}{knet\+\_\+loop\+\_\+profile\+\_\+get\+\_\+close\+\_\+channel\+\_\+count} (\hyperlink{a00056_ab75a5c23099a6118c469ed160b277f28_ab75a5c23099a6118c469ed160b277f28}{kloop\+\_\+profile\+\_\+t} $\ast$profile)
\begin{DoxyCompactList}\small\item\em 取得已经关闭的管道数量 \end{DoxyCompactList}\item 
uint64\+\_\+t \hyperlink{a00085_abd775461437b9c394cf7b800953ea6d0_abd775461437b9c394cf7b800953ea6d0}{knet\+\_\+loop\+\_\+profile\+\_\+add\+\_\+send\+\_\+bytes} (\hyperlink{a00056_ab75a5c23099a6118c469ed160b277f28_ab75a5c23099a6118c469ed160b277f28}{kloop\+\_\+profile\+\_\+t} $\ast$profile, uint64\+\_\+t send\+\_\+bytes)
\begin{DoxyCompactList}\small\item\em 增加发送字节数 \end{DoxyCompactList}\item 
uint64\+\_\+t \hyperlink{a00085_a5bb651c97109287f36481c70c4096d02_a5bb651c97109287f36481c70c4096d02}{knet\+\_\+loop\+\_\+profile\+\_\+get\+\_\+sent\+\_\+bytes} (\hyperlink{a00056_ab75a5c23099a6118c469ed160b277f28_ab75a5c23099a6118c469ed160b277f28}{kloop\+\_\+profile\+\_\+t} $\ast$profile)
\begin{DoxyCompactList}\small\item\em 取得已经发送的字节数 \end{DoxyCompactList}\item 
uint64\+\_\+t \hyperlink{a00085_a1d019265b963ca1a53492060b456d620_a1d019265b963ca1a53492060b456d620}{knet\+\_\+loop\+\_\+profile\+\_\+add\+\_\+recv\+\_\+bytes} (\hyperlink{a00056_ab75a5c23099a6118c469ed160b277f28_ab75a5c23099a6118c469ed160b277f28}{kloop\+\_\+profile\+\_\+t} $\ast$profile, uint64\+\_\+t recv\+\_\+bytes)
\begin{DoxyCompactList}\small\item\em 增加接收字节数 \end{DoxyCompactList}\item 
uint64\+\_\+t \hyperlink{a00085_a1ac76d26570c5973ca054d5d2be07596_a1ac76d26570c5973ca054d5d2be07596}{knet\+\_\+loop\+\_\+profile\+\_\+get\+\_\+recv\+\_\+bytes} (\hyperlink{a00056_ab75a5c23099a6118c469ed160b277f28_ab75a5c23099a6118c469ed160b277f28}{kloop\+\_\+profile\+\_\+t} $\ast$profile)
\begin{DoxyCompactList}\small\item\em 取得已经接收的字节数 \end{DoxyCompactList}\item 
uint32\+\_\+t \hyperlink{a00085_a61bab9d3f25b772c11067d7ad48e5591_a61bab9d3f25b772c11067d7ad48e5591}{knet\+\_\+loop\+\_\+profile\+\_\+get\+\_\+sent\+\_\+bandwidth} (\hyperlink{a00056_ab75a5c23099a6118c469ed160b277f28_ab75a5c23099a6118c469ed160b277f28}{kloop\+\_\+profile\+\_\+t} $\ast$profile)
\begin{DoxyCompactList}\small\item\em 取得发送带宽 \end{DoxyCompactList}\item 
uint32\+\_\+t \hyperlink{a00085_a925853b256684e4d935f28d4c73a4832_a925853b256684e4d935f28d4c73a4832}{knet\+\_\+loop\+\_\+profile\+\_\+get\+\_\+recv\+\_\+bandwidth} (\hyperlink{a00056_ab75a5c23099a6118c469ed160b277f28_ab75a5c23099a6118c469ed160b277f28}{kloop\+\_\+profile\+\_\+t} $\ast$profile)
\begin{DoxyCompactList}\small\item\em 取得接收带宽 \end{DoxyCompactList}\item 
int \hyperlink{a00085_ada601f1836bdb78ccd50be447559a101_ada601f1836bdb78ccd50be447559a101}{knet\+\_\+loop\+\_\+profile\+\_\+dump\+\_\+file} (\hyperlink{a00056_ab75a5c23099a6118c469ed160b277f28_ab75a5c23099a6118c469ed160b277f28}{kloop\+\_\+profile\+\_\+t} $\ast$profile, F\+I\+L\+E $\ast$fp)
\begin{DoxyCompactList}\small\item\em 将统计信息写入文件 \end{DoxyCompactList}\item 
int \hyperlink{a00085_a256be2a18ebf141d93f95cdce1975a9e_a256be2a18ebf141d93f95cdce1975a9e}{knet\+\_\+loop\+\_\+profile\+\_\+dump\+\_\+stream} (\hyperlink{a00056_ab75a5c23099a6118c469ed160b277f28_ab75a5c23099a6118c469ed160b277f28}{kloop\+\_\+profile\+\_\+t} $\ast$profile, \hyperlink{a00056_acc208c4c40c875eebbfef88f00fffacf_acc208c4c40c875eebbfef88f00fffacf}{kstream\+\_\+t} $\ast$stream)
\begin{DoxyCompactList}\small\item\em 将统计信息写入管道流 \end{DoxyCompactList}\item 
int \hyperlink{a00085_a256b0db051dd95a364c3ad5612cbff98_a256b0db051dd95a364c3ad5612cbff98}{knet\+\_\+loop\+\_\+profile\+\_\+dump\+\_\+stdout} (\hyperlink{a00056_ab75a5c23099a6118c469ed160b277f28_ab75a5c23099a6118c469ed160b277f28}{kloop\+\_\+profile\+\_\+t} $\ast$profile)
\begin{DoxyCompactList}\small\item\em 将统计信息打印到标准输出 \end{DoxyCompactList}\end{DoxyCompactItemize}


\subsection{函数说明}
\hypertarget{a00085_a1d019265b963ca1a53492060b456d620_a1d019265b963ca1a53492060b456d620}{}\index{loop\+\_\+profile.\+c@{loop\+\_\+profile.\+c}!knet\+\_\+loop\+\_\+profile\+\_\+add\+\_\+recv\+\_\+bytes@{knet\+\_\+loop\+\_\+profile\+\_\+add\+\_\+recv\+\_\+bytes}}
\index{knet\+\_\+loop\+\_\+profile\+\_\+add\+\_\+recv\+\_\+bytes@{knet\+\_\+loop\+\_\+profile\+\_\+add\+\_\+recv\+\_\+bytes}!loop\+\_\+profile.\+c@{loop\+\_\+profile.\+c}}
\subsubsection[{knet\+\_\+loop\+\_\+profile\+\_\+add\+\_\+recv\+\_\+bytes}]{\setlength{\rightskip}{0pt plus 5cm}uint64\+\_\+t knet\+\_\+loop\+\_\+profile\+\_\+add\+\_\+recv\+\_\+bytes (
\begin{DoxyParamCaption}
\item[{{\bf kloop\+\_\+profile\+\_\+t} $\ast$}]{profile, }
\item[{uint64\+\_\+t}]{recv\+\_\+bytes}
\end{DoxyParamCaption}
)}\label{a00085_a1d019265b963ca1a53492060b456d620_a1d019265b963ca1a53492060b456d620}


增加接收字节数 


\begin{DoxyParams}{参数}
{\em profile} & kloop\+\_\+profile\+\_\+t实例 \\
\hline
{\em recv\+\_\+bytes} & 已接收的字节数 \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{返回}
接收字节数 
\end{DoxyReturn}
\hypertarget{a00085_abd775461437b9c394cf7b800953ea6d0_abd775461437b9c394cf7b800953ea6d0}{}\index{loop\+\_\+profile.\+c@{loop\+\_\+profile.\+c}!knet\+\_\+loop\+\_\+profile\+\_\+add\+\_\+send\+\_\+bytes@{knet\+\_\+loop\+\_\+profile\+\_\+add\+\_\+send\+\_\+bytes}}
\index{knet\+\_\+loop\+\_\+profile\+\_\+add\+\_\+send\+\_\+bytes@{knet\+\_\+loop\+\_\+profile\+\_\+add\+\_\+send\+\_\+bytes}!loop\+\_\+profile.\+c@{loop\+\_\+profile.\+c}}
\subsubsection[{knet\+\_\+loop\+\_\+profile\+\_\+add\+\_\+send\+\_\+bytes}]{\setlength{\rightskip}{0pt plus 5cm}uint64\+\_\+t knet\+\_\+loop\+\_\+profile\+\_\+add\+\_\+send\+\_\+bytes (
\begin{DoxyParamCaption}
\item[{{\bf kloop\+\_\+profile\+\_\+t} $\ast$}]{profile, }
\item[{uint64\+\_\+t}]{send\+\_\+bytes}
\end{DoxyParamCaption}
)}\label{a00085_abd775461437b9c394cf7b800953ea6d0_abd775461437b9c394cf7b800953ea6d0}


增加发送字节数 


\begin{DoxyParams}{参数}
{\em profile} & kloop\+\_\+profile\+\_\+t实例 \\
\hline
{\em send\+\_\+bytes} & 已发送的字节数 \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{返回}
发送字节数 
\end{DoxyReturn}
\hypertarget{a00085_a2ceadcfacc62456cf26ac88ebe09fd50_a2ceadcfacc62456cf26ac88ebe09fd50}{}\index{loop\+\_\+profile.\+c@{loop\+\_\+profile.\+c}!knet\+\_\+loop\+\_\+profile\+\_\+create@{knet\+\_\+loop\+\_\+profile\+\_\+create}}
\index{knet\+\_\+loop\+\_\+profile\+\_\+create@{knet\+\_\+loop\+\_\+profile\+\_\+create}!loop\+\_\+profile.\+c@{loop\+\_\+profile.\+c}}
\subsubsection[{knet\+\_\+loop\+\_\+profile\+\_\+create}]{\setlength{\rightskip}{0pt plus 5cm}{\bf kloop\+\_\+profile\+\_\+t}$\ast$ knet\+\_\+loop\+\_\+profile\+\_\+create (
\begin{DoxyParamCaption}
\item[{{\bf kloop\+\_\+t} $\ast$}]{loop}
\end{DoxyParamCaption}
)}\label{a00085_a2ceadcfacc62456cf26ac88ebe09fd50_a2ceadcfacc62456cf26ac88ebe09fd50}


建立kloop\+\_\+t统计器 


\begin{DoxyParams}{参数}
{\em loop} & kloop\+\_\+t实例 \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{返回}
kloop\+\_\+profile\+\_\+t实例 
\end{DoxyReturn}
\hypertarget{a00085_a2846784b57c724b18c09aa177c1d1905_a2846784b57c724b18c09aa177c1d1905}{}\index{loop\+\_\+profile.\+c@{loop\+\_\+profile.\+c}!knet\+\_\+loop\+\_\+profile\+\_\+decrease\+\_\+active\+\_\+channel\+\_\+count@{knet\+\_\+loop\+\_\+profile\+\_\+decrease\+\_\+active\+\_\+channel\+\_\+count}}
\index{knet\+\_\+loop\+\_\+profile\+\_\+decrease\+\_\+active\+\_\+channel\+\_\+count@{knet\+\_\+loop\+\_\+profile\+\_\+decrease\+\_\+active\+\_\+channel\+\_\+count}!loop\+\_\+profile.\+c@{loop\+\_\+profile.\+c}}
\subsubsection[{knet\+\_\+loop\+\_\+profile\+\_\+decrease\+\_\+active\+\_\+channel\+\_\+count}]{\setlength{\rightskip}{0pt plus 5cm}uint32\+\_\+t knet\+\_\+loop\+\_\+profile\+\_\+decrease\+\_\+active\+\_\+channel\+\_\+count (
\begin{DoxyParamCaption}
\item[{{\bf kloop\+\_\+profile\+\_\+t} $\ast$}]{profile}
\end{DoxyParamCaption}
)}\label{a00085_a2846784b57c724b18c09aa177c1d1905_a2846784b57c724b18c09aa177c1d1905}


减少已建立但未连接的管道数量 


\begin{DoxyParams}{参数}
{\em profile} & kloop\+\_\+profile\+\_\+t实例 \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{返回}
已建立但未连接的管道数量 
\end{DoxyReturn}
\hypertarget{a00085_a1c0e93ef936d34b9ed9eb0b8a949a888_a1c0e93ef936d34b9ed9eb0b8a949a888}{}\index{loop\+\_\+profile.\+c@{loop\+\_\+profile.\+c}!knet\+\_\+loop\+\_\+profile\+\_\+decrease\+\_\+close\+\_\+channel\+\_\+count@{knet\+\_\+loop\+\_\+profile\+\_\+decrease\+\_\+close\+\_\+channel\+\_\+count}}
\index{knet\+\_\+loop\+\_\+profile\+\_\+decrease\+\_\+close\+\_\+channel\+\_\+count@{knet\+\_\+loop\+\_\+profile\+\_\+decrease\+\_\+close\+\_\+channel\+\_\+count}!loop\+\_\+profile.\+c@{loop\+\_\+profile.\+c}}
\subsubsection[{knet\+\_\+loop\+\_\+profile\+\_\+decrease\+\_\+close\+\_\+channel\+\_\+count}]{\setlength{\rightskip}{0pt plus 5cm}uint32\+\_\+t knet\+\_\+loop\+\_\+profile\+\_\+decrease\+\_\+close\+\_\+channel\+\_\+count (
\begin{DoxyParamCaption}
\item[{{\bf kloop\+\_\+profile\+\_\+t} $\ast$}]{profile}
\end{DoxyParamCaption}
)}\label{a00085_a1c0e93ef936d34b9ed9eb0b8a949a888_a1c0e93ef936d34b9ed9eb0b8a949a888}


减少已关闭管道数量 


\begin{DoxyParams}{参数}
{\em profile} & kloop\+\_\+profile\+\_\+t实例 \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{返回}
已关闭管道数量 
\end{DoxyReturn}
\hypertarget{a00085_ae34c1df8f99b26184f7380c90cc1e799_ae34c1df8f99b26184f7380c90cc1e799}{}\index{loop\+\_\+profile.\+c@{loop\+\_\+profile.\+c}!knet\+\_\+loop\+\_\+profile\+\_\+decrease\+\_\+established\+\_\+channel\+\_\+count@{knet\+\_\+loop\+\_\+profile\+\_\+decrease\+\_\+established\+\_\+channel\+\_\+count}}
\index{knet\+\_\+loop\+\_\+profile\+\_\+decrease\+\_\+established\+\_\+channel\+\_\+count@{knet\+\_\+loop\+\_\+profile\+\_\+decrease\+\_\+established\+\_\+channel\+\_\+count}!loop\+\_\+profile.\+c@{loop\+\_\+profile.\+c}}
\subsubsection[{knet\+\_\+loop\+\_\+profile\+\_\+decrease\+\_\+established\+\_\+channel\+\_\+count}]{\setlength{\rightskip}{0pt plus 5cm}uint32\+\_\+t knet\+\_\+loop\+\_\+profile\+\_\+decrease\+\_\+established\+\_\+channel\+\_\+count (
\begin{DoxyParamCaption}
\item[{{\bf kloop\+\_\+profile\+\_\+t} $\ast$}]{profile}
\end{DoxyParamCaption}
)}\label{a00085_ae34c1df8f99b26184f7380c90cc1e799_ae34c1df8f99b26184f7380c90cc1e799}


减少已建立连接的管道数量 


\begin{DoxyParams}{参数}
{\em profile} & kloop\+\_\+profile\+\_\+t实例 \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{返回}
已建立连接的管道数量 
\end{DoxyReturn}
\hypertarget{a00085_a760cc20cb3dc6a361e6b5f67576f2bbc_a760cc20cb3dc6a361e6b5f67576f2bbc}{}\index{loop\+\_\+profile.\+c@{loop\+\_\+profile.\+c}!knet\+\_\+loop\+\_\+profile\+\_\+destroy@{knet\+\_\+loop\+\_\+profile\+\_\+destroy}}
\index{knet\+\_\+loop\+\_\+profile\+\_\+destroy@{knet\+\_\+loop\+\_\+profile\+\_\+destroy}!loop\+\_\+profile.\+c@{loop\+\_\+profile.\+c}}
\subsubsection[{knet\+\_\+loop\+\_\+profile\+\_\+destroy}]{\setlength{\rightskip}{0pt plus 5cm}void knet\+\_\+loop\+\_\+profile\+\_\+destroy (
\begin{DoxyParamCaption}
\item[{{\bf kloop\+\_\+profile\+\_\+t} $\ast$}]{profile}
\end{DoxyParamCaption}
)}\label{a00085_a760cc20cb3dc6a361e6b5f67576f2bbc_a760cc20cb3dc6a361e6b5f67576f2bbc}


销毁统计器 


\begin{DoxyParams}{参数}
{\em profile} & kloop\+\_\+profile\+\_\+t实例 \\
\hline
\end{DoxyParams}
\hypertarget{a00085_ada601f1836bdb78ccd50be447559a101_ada601f1836bdb78ccd50be447559a101}{}\index{loop\+\_\+profile.\+c@{loop\+\_\+profile.\+c}!knet\+\_\+loop\+\_\+profile\+\_\+dump\+\_\+file@{knet\+\_\+loop\+\_\+profile\+\_\+dump\+\_\+file}}
\index{knet\+\_\+loop\+\_\+profile\+\_\+dump\+\_\+file@{knet\+\_\+loop\+\_\+profile\+\_\+dump\+\_\+file}!loop\+\_\+profile.\+c@{loop\+\_\+profile.\+c}}
\subsubsection[{knet\+\_\+loop\+\_\+profile\+\_\+dump\+\_\+file}]{\setlength{\rightskip}{0pt plus 5cm}int knet\+\_\+loop\+\_\+profile\+\_\+dump\+\_\+file (
\begin{DoxyParamCaption}
\item[{{\bf kloop\+\_\+profile\+\_\+t} $\ast$}]{profile, }
\item[{F\+I\+L\+E $\ast$}]{fp}
\end{DoxyParamCaption}
)}\label{a00085_ada601f1836bdb78ccd50be447559a101_ada601f1836bdb78ccd50be447559a101}


将统计信息写入文件 


\begin{DoxyParams}{参数}
{\em profile} & kloop\+\_\+profile\+\_\+t实例 \\
\hline
{\em fp} & F\+I\+L\+E指针 \\
\hline
\end{DoxyParams}

\begin{DoxyRetVals}{返回值}
{\em error\+\_\+ok} & 成功 \\
\hline
{\em 其他} & 失败 \\
\hline
\end{DoxyRetVals}
\hypertarget{a00085_a256b0db051dd95a364c3ad5612cbff98_a256b0db051dd95a364c3ad5612cbff98}{}\index{loop\+\_\+profile.\+c@{loop\+\_\+profile.\+c}!knet\+\_\+loop\+\_\+profile\+\_\+dump\+\_\+stdout@{knet\+\_\+loop\+\_\+profile\+\_\+dump\+\_\+stdout}}
\index{knet\+\_\+loop\+\_\+profile\+\_\+dump\+\_\+stdout@{knet\+\_\+loop\+\_\+profile\+\_\+dump\+\_\+stdout}!loop\+\_\+profile.\+c@{loop\+\_\+profile.\+c}}
\subsubsection[{knet\+\_\+loop\+\_\+profile\+\_\+dump\+\_\+stdout}]{\setlength{\rightskip}{0pt plus 5cm}int knet\+\_\+loop\+\_\+profile\+\_\+dump\+\_\+stdout (
\begin{DoxyParamCaption}
\item[{{\bf kloop\+\_\+profile\+\_\+t} $\ast$}]{profile}
\end{DoxyParamCaption}
)}\label{a00085_a256b0db051dd95a364c3ad5612cbff98_a256b0db051dd95a364c3ad5612cbff98}


将统计信息打印到标准输出 


\begin{DoxyParams}{参数}
{\em profile} & kloop\+\_\+profile\+\_\+t实例 \\
\hline
\end{DoxyParams}

\begin{DoxyRetVals}{返回值}
{\em error\+\_\+ok} & 成功 \\
\hline
{\em 其他} & 失败 \\
\hline
\end{DoxyRetVals}
\hypertarget{a00085_a256be2a18ebf141d93f95cdce1975a9e_a256be2a18ebf141d93f95cdce1975a9e}{}\index{loop\+\_\+profile.\+c@{loop\+\_\+profile.\+c}!knet\+\_\+loop\+\_\+profile\+\_\+dump\+\_\+stream@{knet\+\_\+loop\+\_\+profile\+\_\+dump\+\_\+stream}}
\index{knet\+\_\+loop\+\_\+profile\+\_\+dump\+\_\+stream@{knet\+\_\+loop\+\_\+profile\+\_\+dump\+\_\+stream}!loop\+\_\+profile.\+c@{loop\+\_\+profile.\+c}}
\subsubsection[{knet\+\_\+loop\+\_\+profile\+\_\+dump\+\_\+stream}]{\setlength{\rightskip}{0pt plus 5cm}int knet\+\_\+loop\+\_\+profile\+\_\+dump\+\_\+stream (
\begin{DoxyParamCaption}
\item[{{\bf kloop\+\_\+profile\+\_\+t} $\ast$}]{profile, }
\item[{{\bf kstream\+\_\+t} $\ast$}]{stream}
\end{DoxyParamCaption}
)}\label{a00085_a256be2a18ebf141d93f95cdce1975a9e_a256be2a18ebf141d93f95cdce1975a9e}


将统计信息写入管道流 


\begin{DoxyParams}{参数}
{\em profile} & kloop\+\_\+profile\+\_\+t实例 \\
\hline
{\em stream} & kstream\+\_\+t实例 \\
\hline
\end{DoxyParams}

\begin{DoxyRetVals}{返回值}
{\em error\+\_\+ok} & 成功 \\
\hline
{\em 其他} & 失败 \\
\hline
\end{DoxyRetVals}
\hypertarget{a00085_a9b4aceae0c7a1f1aa86c8db5996ec76a_a9b4aceae0c7a1f1aa86c8db5996ec76a}{}\index{loop\+\_\+profile.\+c@{loop\+\_\+profile.\+c}!knet\+\_\+loop\+\_\+profile\+\_\+get\+\_\+active\+\_\+channel\+\_\+count@{knet\+\_\+loop\+\_\+profile\+\_\+get\+\_\+active\+\_\+channel\+\_\+count}}
\index{knet\+\_\+loop\+\_\+profile\+\_\+get\+\_\+active\+\_\+channel\+\_\+count@{knet\+\_\+loop\+\_\+profile\+\_\+get\+\_\+active\+\_\+channel\+\_\+count}!loop\+\_\+profile.\+c@{loop\+\_\+profile.\+c}}
\subsubsection[{knet\+\_\+loop\+\_\+profile\+\_\+get\+\_\+active\+\_\+channel\+\_\+count}]{\setlength{\rightskip}{0pt plus 5cm}uint32\+\_\+t knet\+\_\+loop\+\_\+profile\+\_\+get\+\_\+active\+\_\+channel\+\_\+count (
\begin{DoxyParamCaption}
\item[{{\bf kloop\+\_\+profile\+\_\+t} $\ast$}]{profile}
\end{DoxyParamCaption}
)}\label{a00085_a9b4aceae0c7a1f1aa86c8db5996ec76a_a9b4aceae0c7a1f1aa86c8db5996ec76a}


取得已经建立但还未连接的管道数量 


\begin{DoxyParams}{参数}
{\em profile} & kloop\+\_\+profile\+\_\+t实例 \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{返回}
建立但还未连接的管道数量 
\end{DoxyReturn}
\hypertarget{a00085_a6eaacce21d69455a4e70bd6da4927082_a6eaacce21d69455a4e70bd6da4927082}{}\index{loop\+\_\+profile.\+c@{loop\+\_\+profile.\+c}!knet\+\_\+loop\+\_\+profile\+\_\+get\+\_\+close\+\_\+channel\+\_\+count@{knet\+\_\+loop\+\_\+profile\+\_\+get\+\_\+close\+\_\+channel\+\_\+count}}
\index{knet\+\_\+loop\+\_\+profile\+\_\+get\+\_\+close\+\_\+channel\+\_\+count@{knet\+\_\+loop\+\_\+profile\+\_\+get\+\_\+close\+\_\+channel\+\_\+count}!loop\+\_\+profile.\+c@{loop\+\_\+profile.\+c}}
\subsubsection[{knet\+\_\+loop\+\_\+profile\+\_\+get\+\_\+close\+\_\+channel\+\_\+count}]{\setlength{\rightskip}{0pt plus 5cm}uint32\+\_\+t knet\+\_\+loop\+\_\+profile\+\_\+get\+\_\+close\+\_\+channel\+\_\+count (
\begin{DoxyParamCaption}
\item[{{\bf kloop\+\_\+profile\+\_\+t} $\ast$}]{profile}
\end{DoxyParamCaption}
)}\label{a00085_a6eaacce21d69455a4e70bd6da4927082_a6eaacce21d69455a4e70bd6da4927082}


取得已经关闭的管道数量 


\begin{DoxyParams}{参数}
{\em profile} & kloop\+\_\+profile\+\_\+t实例 \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{返回}
已经关闭的管道数量 
\end{DoxyReturn}
\hypertarget{a00085_a30be8a49214eb1485429bdff63541dfc_a30be8a49214eb1485429bdff63541dfc}{}\index{loop\+\_\+profile.\+c@{loop\+\_\+profile.\+c}!knet\+\_\+loop\+\_\+profile\+\_\+get\+\_\+established\+\_\+channel\+\_\+count@{knet\+\_\+loop\+\_\+profile\+\_\+get\+\_\+established\+\_\+channel\+\_\+count}}
\index{knet\+\_\+loop\+\_\+profile\+\_\+get\+\_\+established\+\_\+channel\+\_\+count@{knet\+\_\+loop\+\_\+profile\+\_\+get\+\_\+established\+\_\+channel\+\_\+count}!loop\+\_\+profile.\+c@{loop\+\_\+profile.\+c}}
\subsubsection[{knet\+\_\+loop\+\_\+profile\+\_\+get\+\_\+established\+\_\+channel\+\_\+count}]{\setlength{\rightskip}{0pt plus 5cm}uint32\+\_\+t knet\+\_\+loop\+\_\+profile\+\_\+get\+\_\+established\+\_\+channel\+\_\+count (
\begin{DoxyParamCaption}
\item[{{\bf kloop\+\_\+profile\+\_\+t} $\ast$}]{profile}
\end{DoxyParamCaption}
)}\label{a00085_a30be8a49214eb1485429bdff63541dfc_a30be8a49214eb1485429bdff63541dfc}


取得已经建立连接的管道数量 


\begin{DoxyParams}{参数}
{\em profile} & kloop\+\_\+profile\+\_\+t实例 \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{返回}
建立连接的管道数量 
\end{DoxyReturn}
\hypertarget{a00085_a925853b256684e4d935f28d4c73a4832_a925853b256684e4d935f28d4c73a4832}{}\index{loop\+\_\+profile.\+c@{loop\+\_\+profile.\+c}!knet\+\_\+loop\+\_\+profile\+\_\+get\+\_\+recv\+\_\+bandwidth@{knet\+\_\+loop\+\_\+profile\+\_\+get\+\_\+recv\+\_\+bandwidth}}
\index{knet\+\_\+loop\+\_\+profile\+\_\+get\+\_\+recv\+\_\+bandwidth@{knet\+\_\+loop\+\_\+profile\+\_\+get\+\_\+recv\+\_\+bandwidth}!loop\+\_\+profile.\+c@{loop\+\_\+profile.\+c}}
\subsubsection[{knet\+\_\+loop\+\_\+profile\+\_\+get\+\_\+recv\+\_\+bandwidth}]{\setlength{\rightskip}{0pt plus 5cm}uint32\+\_\+t knet\+\_\+loop\+\_\+profile\+\_\+get\+\_\+recv\+\_\+bandwidth (
\begin{DoxyParamCaption}
\item[{{\bf kloop\+\_\+profile\+\_\+t} $\ast$}]{profile}
\end{DoxyParamCaption}
)}\label{a00085_a925853b256684e4d935f28d4c73a4832_a925853b256684e4d935f28d4c73a4832}


取得接收带宽 


\begin{DoxyParams}{参数}
{\em profile} & kloop\+\_\+profile\+\_\+t实例 \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{返回}
带宽(字节/秒) 
\end{DoxyReturn}
\hypertarget{a00085_a1ac76d26570c5973ca054d5d2be07596_a1ac76d26570c5973ca054d5d2be07596}{}\index{loop\+\_\+profile.\+c@{loop\+\_\+profile.\+c}!knet\+\_\+loop\+\_\+profile\+\_\+get\+\_\+recv\+\_\+bytes@{knet\+\_\+loop\+\_\+profile\+\_\+get\+\_\+recv\+\_\+bytes}}
\index{knet\+\_\+loop\+\_\+profile\+\_\+get\+\_\+recv\+\_\+bytes@{knet\+\_\+loop\+\_\+profile\+\_\+get\+\_\+recv\+\_\+bytes}!loop\+\_\+profile.\+c@{loop\+\_\+profile.\+c}}
\subsubsection[{knet\+\_\+loop\+\_\+profile\+\_\+get\+\_\+recv\+\_\+bytes}]{\setlength{\rightskip}{0pt plus 5cm}uint64\+\_\+t knet\+\_\+loop\+\_\+profile\+\_\+get\+\_\+recv\+\_\+bytes (
\begin{DoxyParamCaption}
\item[{{\bf kloop\+\_\+profile\+\_\+t} $\ast$}]{profile}
\end{DoxyParamCaption}
)}\label{a00085_a1ac76d26570c5973ca054d5d2be07596_a1ac76d26570c5973ca054d5d2be07596}


取得已经接收的字节数 


\begin{DoxyParams}{参数}
{\em profile} & kloop\+\_\+profile\+\_\+t实例 \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{返回}
已经接收的字节数 
\end{DoxyReturn}
\hypertarget{a00085_a61bab9d3f25b772c11067d7ad48e5591_a61bab9d3f25b772c11067d7ad48e5591}{}\index{loop\+\_\+profile.\+c@{loop\+\_\+profile.\+c}!knet\+\_\+loop\+\_\+profile\+\_\+get\+\_\+sent\+\_\+bandwidth@{knet\+\_\+loop\+\_\+profile\+\_\+get\+\_\+sent\+\_\+bandwidth}}
\index{knet\+\_\+loop\+\_\+profile\+\_\+get\+\_\+sent\+\_\+bandwidth@{knet\+\_\+loop\+\_\+profile\+\_\+get\+\_\+sent\+\_\+bandwidth}!loop\+\_\+profile.\+c@{loop\+\_\+profile.\+c}}
\subsubsection[{knet\+\_\+loop\+\_\+profile\+\_\+get\+\_\+sent\+\_\+bandwidth}]{\setlength{\rightskip}{0pt plus 5cm}uint32\+\_\+t knet\+\_\+loop\+\_\+profile\+\_\+get\+\_\+sent\+\_\+bandwidth (
\begin{DoxyParamCaption}
\item[{{\bf kloop\+\_\+profile\+\_\+t} $\ast$}]{profile}
\end{DoxyParamCaption}
)}\label{a00085_a61bab9d3f25b772c11067d7ad48e5591_a61bab9d3f25b772c11067d7ad48e5591}


取得发送带宽 


\begin{DoxyParams}{参数}
{\em profile} & kloop\+\_\+profile\+\_\+t实例 \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{返回}
带宽(字节/秒) 
\end{DoxyReturn}
\hypertarget{a00085_a5bb651c97109287f36481c70c4096d02_a5bb651c97109287f36481c70c4096d02}{}\index{loop\+\_\+profile.\+c@{loop\+\_\+profile.\+c}!knet\+\_\+loop\+\_\+profile\+\_\+get\+\_\+sent\+\_\+bytes@{knet\+\_\+loop\+\_\+profile\+\_\+get\+\_\+sent\+\_\+bytes}}
\index{knet\+\_\+loop\+\_\+profile\+\_\+get\+\_\+sent\+\_\+bytes@{knet\+\_\+loop\+\_\+profile\+\_\+get\+\_\+sent\+\_\+bytes}!loop\+\_\+profile.\+c@{loop\+\_\+profile.\+c}}
\subsubsection[{knet\+\_\+loop\+\_\+profile\+\_\+get\+\_\+sent\+\_\+bytes}]{\setlength{\rightskip}{0pt plus 5cm}uint64\+\_\+t knet\+\_\+loop\+\_\+profile\+\_\+get\+\_\+sent\+\_\+bytes (
\begin{DoxyParamCaption}
\item[{{\bf kloop\+\_\+profile\+\_\+t} $\ast$}]{profile}
\end{DoxyParamCaption}
)}\label{a00085_a5bb651c97109287f36481c70c4096d02_a5bb651c97109287f36481c70c4096d02}


取得已经发送的字节数 


\begin{DoxyParams}{参数}
{\em profile} & kloop\+\_\+profile\+\_\+t实例 \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{返回}
已经发送的字节数 
\end{DoxyReturn}
\hypertarget{a00085_abb04cdf84772d003486afde6ee2f5234_abb04cdf84772d003486afde6ee2f5234}{}\index{loop\+\_\+profile.\+c@{loop\+\_\+profile.\+c}!knet\+\_\+loop\+\_\+profile\+\_\+increase\+\_\+active\+\_\+channel\+\_\+count@{knet\+\_\+loop\+\_\+profile\+\_\+increase\+\_\+active\+\_\+channel\+\_\+count}}
\index{knet\+\_\+loop\+\_\+profile\+\_\+increase\+\_\+active\+\_\+channel\+\_\+count@{knet\+\_\+loop\+\_\+profile\+\_\+increase\+\_\+active\+\_\+channel\+\_\+count}!loop\+\_\+profile.\+c@{loop\+\_\+profile.\+c}}
\subsubsection[{knet\+\_\+loop\+\_\+profile\+\_\+increase\+\_\+active\+\_\+channel\+\_\+count}]{\setlength{\rightskip}{0pt plus 5cm}uint32\+\_\+t knet\+\_\+loop\+\_\+profile\+\_\+increase\+\_\+active\+\_\+channel\+\_\+count (
\begin{DoxyParamCaption}
\item[{{\bf kloop\+\_\+profile\+\_\+t} $\ast$}]{profile}
\end{DoxyParamCaption}
)}\label{a00085_abb04cdf84772d003486afde6ee2f5234_abb04cdf84772d003486afde6ee2f5234}


增加已建立但未连接的管道数量 


\begin{DoxyParams}{参数}
{\em profile} & kloop\+\_\+profile\+\_\+t实例 \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{返回}
已建立但未连接的管道数量 
\end{DoxyReturn}
\hypertarget{a00085_a85fbddaf0bf20c228f7389ad2765ec57_a85fbddaf0bf20c228f7389ad2765ec57}{}\index{loop\+\_\+profile.\+c@{loop\+\_\+profile.\+c}!knet\+\_\+loop\+\_\+profile\+\_\+increase\+\_\+close\+\_\+channel\+\_\+count@{knet\+\_\+loop\+\_\+profile\+\_\+increase\+\_\+close\+\_\+channel\+\_\+count}}
\index{knet\+\_\+loop\+\_\+profile\+\_\+increase\+\_\+close\+\_\+channel\+\_\+count@{knet\+\_\+loop\+\_\+profile\+\_\+increase\+\_\+close\+\_\+channel\+\_\+count}!loop\+\_\+profile.\+c@{loop\+\_\+profile.\+c}}
\subsubsection[{knet\+\_\+loop\+\_\+profile\+\_\+increase\+\_\+close\+\_\+channel\+\_\+count}]{\setlength{\rightskip}{0pt plus 5cm}uint32\+\_\+t knet\+\_\+loop\+\_\+profile\+\_\+increase\+\_\+close\+\_\+channel\+\_\+count (
\begin{DoxyParamCaption}
\item[{{\bf kloop\+\_\+profile\+\_\+t} $\ast$}]{profile}
\end{DoxyParamCaption}
)}\label{a00085_a85fbddaf0bf20c228f7389ad2765ec57_a85fbddaf0bf20c228f7389ad2765ec57}


增加已关闭管道数量 


\begin{DoxyParams}{参数}
{\em profile} & kloop\+\_\+profile\+\_\+t实例 \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{返回}
已关闭管道数量 
\end{DoxyReturn}
\hypertarget{a00085_ab75ba9cdc68d1b4ec059974df4b67165_ab75ba9cdc68d1b4ec059974df4b67165}{}\index{loop\+\_\+profile.\+c@{loop\+\_\+profile.\+c}!knet\+\_\+loop\+\_\+profile\+\_\+increase\+\_\+established\+\_\+channel\+\_\+count@{knet\+\_\+loop\+\_\+profile\+\_\+increase\+\_\+established\+\_\+channel\+\_\+count}}
\index{knet\+\_\+loop\+\_\+profile\+\_\+increase\+\_\+established\+\_\+channel\+\_\+count@{knet\+\_\+loop\+\_\+profile\+\_\+increase\+\_\+established\+\_\+channel\+\_\+count}!loop\+\_\+profile.\+c@{loop\+\_\+profile.\+c}}
\subsubsection[{knet\+\_\+loop\+\_\+profile\+\_\+increase\+\_\+established\+\_\+channel\+\_\+count}]{\setlength{\rightskip}{0pt plus 5cm}uint32\+\_\+t knet\+\_\+loop\+\_\+profile\+\_\+increase\+\_\+established\+\_\+channel\+\_\+count (
\begin{DoxyParamCaption}
\item[{{\bf kloop\+\_\+profile\+\_\+t} $\ast$}]{profile}
\end{DoxyParamCaption}
)}\label{a00085_ab75ba9cdc68d1b4ec059974df4b67165_ab75ba9cdc68d1b4ec059974df4b67165}


增加已建立连接的管道数量 


\begin{DoxyParams}{参数}
{\em profile} & kloop\+\_\+profile\+\_\+t实例 \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{返回}
已建立连接的管道数量 
\end{DoxyReturn}
